package com.wh.wisdomsite.xbox.server.util;

import java.io.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * EasyUiIconUtil
 *
 * @version V1.0
 * @Package: com.wh.wisdomsite.xbox.server.util
 * @author: 丁奕
 * @date: 2018-09-05 15:34
 * @Copyright 公司版权所有
 * @Company 贵州万华科技有限公司Copyright (c) 2016
 **/
public class EasyUiIconUtil {

    public static List<String> getAllIconNames() throws IOException {
        Object obj = new Object();
        //获取Icon.css文件的路径
        String path = PathUtil.getRootPath() + "html/js/js-resource/easyui/themes/icon.css";
        File file = new File(path);
        List<String> nameList = new ArrayList<>();
        //首个为空的类名，能作为取消选择使用
        nameList.add("");
        //遍历css文件，根据正则查找包含.**{的字符串，从中获取类名，存入nameList
        if(file.exists()){
            InputStreamReader reader=new InputStreamReader(new FileInputStream(file),"UTF-8");
            BufferedReader bfreader=new BufferedReader(reader);
            String line;
            String reg = "\\.[a-zA-Z0-9-_]+\\{";
            while((line=bfreader.readLine())!=null) {//包含该行内容的字符串，不包含任何行终止符，如果已到达流末尾，则返回 null
                if(line.matches(reg)){
                    nameList.add(getSubUtilSimple(line,reg).substring(1,getSubUtilSimple(line,reg).length()-1));
                }
            }
        }
        return nameList;
    }

    /**
     * 正则表达式匹配两个指定字符串中间的内容
     * @param soap
     * @return
     */
    public static List<String> getSubUtil(String soap,String rgex){
        List<String> list = new ArrayList<String>();
        Pattern pattern = Pattern.compile(rgex);// 匹配的模式
        Matcher m = pattern.matcher(soap);
        while (m.find()) {
            int i = 1;
            list.add(m.group(i));
            i++;
        }
        return list;
    }

    /**
     * 返回单个字符串，若匹配到多个的话就返回第一个，方法与getSubUtil一样
     * @param soap
     * @param rgex
     * @return
     */
    public static String getSubUtilSimple(String soap,String rgex){
        Pattern pattern = Pattern.compile(rgex);// 匹配的模式
        Matcher m = pattern.matcher(soap);
        while(m.find()){
            String str = m.group();
            return str;
        }
        return "";
    }
}
